import Vue from 'vue'

// 导入标准化的css样式文件
import 'normalize.css/normalize.css' // A modern alternative to CSS resets

// 全局导入ElementUI
import ElementUI from 'element-ui'
// 全局导入ElementUI的样式
import 'element-ui/lib/theme-chalk/index.css'
// 导入ElementUI的语言包
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

// 导入全局的样式文件
import '@/styles/index.scss' // global css

// 导入根组件
import App from './App'
// 导入vuex
import store from './store'
// 导入路由
import router from './router'

// nodejs提供的环境变量 process.env, 获取环境变量的配置文件中的配置
// console.log(process.env, 'process.env')

// 导入svg字体图标
import '@/icons' // icon
// 导入权限控制文件---》实现页面的访问权限
import '@/permission' // permission control

// 加载mock的服务
if (process.env.NODE_ENV === 'production') {
  const { mockXHR } = require('../mock')
  mockXHR()
}

// Vue.directive('指令名称',{
//   inserted(el,bindings) {
//     el: 指定绑定的原生的dom对象
//     bidings: 使用当前指令的相关信息，可以获取使用指令传过来的值
//   }
// })
// 自定义指令
Vue.directive('allow', {
  inserted(el, bindings) {
    const points = store.state.user.userInfo?.roles?.points // ['import_excel']
    console.log(points, 'point')
    console.log(el)
    console.log(bindings, 'bindings')
    // 可以通过bings.value，获取到传递过来权限标识  add
    // 根据用户的操作按钮的权限信息做判断，判断用户有没有该权限，
    // 如果没有权限，隐藏按钮
    if (!points.includes(bindings.value)) {
      // log
      el.style.display = 'none'
    }
  }
})

// 注册ElementUI 并设置语言包
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
Vue.use(ElementUI)

Vue.config.productionTip = false

// 创建Vue的实例对象
new Vue({
  el: '#app', // 挂载容器
  router, // 挂载路由
  store, // 挂载vuex
  render: h => h(App) // 渲染根组件
})
